查看原文
其他

一款远控木马分析

沭阳 看雪学院 2019-09-18

最近一段时间在面试病毒相关岗位,有的公司会电话、远程面试询问相关知识,有的则会直接发送病毒样本要求分析,写出分析报告。下面要分析的就是面试过程中的某个样本,整理成文,发表出来,供大家参考学习,一起进步!如有不当之处,也希望大佬批评指正,晚辈一定虚心受教。


由于考虑到时间问题,不能让面试官等太久,所以我只将病毒关键功能模块进行分析说明,没有之前文章那么详细,也请大家见谅,不懂之处欢迎提出,我也尽量解答,加油!


注意!本文只限于学习用途。



样本信息


  • 样本名称:

94251089D878B5C45A763B205062B60CC4D7D0A1CD4CAB3CAA38D8E6A43ECB11

  • 样本大小:893.13KB

  • MD5:ba46b18f05ab2b24df26e343dd32946b

  • SHA-256:

32db88982a0d0f92804c4c53ffd8555935871e23b35a9d362e037353cb6b44c5

  • SHA-1:

34f07e131d4f147af96d262eee761582c6f0b1a4

  • VirusTotal:

https://www.virustotal.com/#/file/32db88982a0d0f92804c4c53ffd8555935871e23b35a9d362e037353cb6b44c5/detection



病毒分析环境及工具


环境:Oracle VM VirtualBox、Windows 7 Service Pack 1(x64)


工具:PEID V0.95、OD、IDA、Resource Hack、火绒剑、010editor、Resource Explorer



基础病毒分析


1、基础静态分析


为了方便测试,更改病毒名称为1,拖入PEID发现为非PE文件,拖入010editor发现是个rar文件,更改文件名添加.rar后缀解压发现一个伪装成文件夹的exe程序。




对18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe进行查壳,初步判断为无壳:



将18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe拖入IDA简单发现安全程序字符串和进程遍历函数,判断病毒程序会对安全软件进行遍历:





2、基础动态分析:


为了节约时间,这里就不截图展示了,基本思路是拖入火绒剑监控程序运行,常见的操作和推测可参考之前的文章。



详细病毒分析


1、18xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.exe 分析


首先程序来到sub4057AE()函数,对自身PE程序进行检测,失败则会退出。



sub40624F()根据前面获得的启动信息结构体对主机型号进行检测。




获得命令行参数:




然后进入sub408D2C函数得到系统环境变量,宽字节转为单字节。






之后来到核心程序sub401A40()。获取自身路径以及当前目录:




程序进入sub402120()函数,发现主要是两个sub401450()函数:




第一个sub401450(),程序首先设置文件指针,阅读数据放到开辟的内存空间,然后在c:\windows\help下创建备份文件。





接着将备份文件字符串和同文件名目录作为参数传入sub4026B0()函数,进入sub4026B0()函数。创建文件目录,获得备份文件句柄:





拼接处新的图片目录路径和.liz后缀路径,创建新文件1.liz。





之后将1.liz数据写入1.jpg,删除1.liz文件。






下面对比[esp+0x10]的值开始新的循环。




最终写入了7张图片和Thumbs.db文件。




然后删除备份文件:




来到第二个sub4026B0()函数来到第二个sub4026B0()函数。程序获取临时目录文件路径,拼接出字符串c:\user\yxx\appdata\local\temp\rat.exe,如果存在直接打开,不存在就创建rat.exe。





之后创建进程运行rat.exe。




拼接出路径c:\user\yxx\appdata\local\temp\byeyou.tmp,遍历系统进程,查找是否存在sftlcom.exe与pavfnsur.exe杀毒软件。





之后移动原程序到新的文件名 c:\user\yxx\appdata\local\temp\byeyou.tmp里。




2、rat.exe分析


自启动相关:




注册表相关:




复制自身为ctfmon.exe:




寻找资源文件:




创建进程打开alg.exe程序。然后卸载进程模块,实现傀儡进程注入。





唤醒线程,开始运行核心程序。




提取rat.exe的资源文件命名为resource.exe。




3、resource.exe分析


sub405BD0() 函数,提升程序权限:




sub401720() 解密所需的字符串:




接着也是解密出需要使用的dll模块和相关函数地址:




最后进入核心函数 sub405960():




先进入sub405720() 函数。首先程序打开病毒服务器网址,保存返回数据(服务器地址已经挂了)。





直接静态分析,根据自己定义的字符串切割返回的数据。




至此,基本判断为这是个远控木马,进入远控函数sub403190()。程序首先解密出相关的dll,函数名称,并获得函数地址,方便接下来的函数使用。






远控功能。获取本机IP地址:




检测是否能ping通:




获取系统版本,CPU信息:




获取磁盘信息:




获取文件信息,可以远程创建、阅读、重命名、移动、复制、删除。









远程关机,重启。




卸载:




服务启动:




列出进程,杀死进程:




截屏:




然后传入其他两个域名参数,再次进入远控函数:




至此病毒简单的分析完毕,在远控功能部分中,病毒作者以熟悉、简单的英文甚至中文拼音来命名功能函数,帮助我们节省大量的时间,如果作者没有这样命名的话,我们也可以采用OD动态调试观察。若以后接触了多的话,远控功能部分可以适当跳过,因为大同小异,没必要浪费时间!



病毒行为流程总结



技术思考总结


  1. 要熟悉病毒常见的注入方式,例如这次的傀儡进程注入,最好动手写一遍,熟悉常使用的函数。

  2. 在病毒与服务器交互的过程中,常常遇到某个函数卡死的情况,这时候要合理nop,不然程序分析不下去。

  3. 对于病毒常见的功能模块要熟悉,遇到时要合理选择步过,不要浪费时间。

  4. 对自己有信心,有耐心,程序飞了没关系,再来!

  5. 多动手,多分享,切勿眼高手低,自己独立分析,参考分析,光看不分析所收获的知识是完全不一样的。

手工杀毒及防护建议


1、删除临时文件目录c:\user\yxx\appdata\local\temp下的rat.exe,byeyou.tmp,ctfmon.exe程序。

2、重启电脑,用专业杀毒软件全盘扫描清理。

3、文明上网,减少对不良网站的浏览,绝不下载不良网站上执行程序。



相关IOC


  • http[:]//softover.net/chendog/rat/gif

  • cn.fetftp.nu

  • rt.softseek.org

  • MD5:ba46b18f05ab2b24df26e343dd32946b

  • SHA-256:

    32db88982a0d0f92804c4c53ffd8555935871e23b35a9d362e037353cb6b44c5

  • SHA-1:34f07e131d4f147af96d262eee761582c6f0b1a4




- End -




看雪ID:沐阳    

https://bbs.pediy.com/user-774842.htm



本文由看雪论坛 沐阳  原创

转载请注明来自看雪社区




⚠️ 注意


2019 看雪安全开发者峰会门票正在热售中!

长按识别下方二维码即可享受 2.5折 优惠!




热门图书推荐

 立即购买!




热门文章阅读

1、Pwn学习笔记:Defcon靶机实战演练

2、VMProtect 3.31的OEP之旅

3、MBR修改敲诈者分析




公众号ID:ikanxue

官方微博:看雪安全

商务合作:wsc@kanxue.com



↙点击下方“阅读原文”,查看更多干货

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存